\section{ec\+\_\+fsm\+\_\+slave\+\_\+config Struct Reference}
\label{structec__fsm__slave__config}\index{ec\+\_\+fsm\+\_\+slave\+\_\+config@{ec\+\_\+fsm\+\_\+slave\+\_\+config}}


Finite state machine to configure an Ether\+C\+AT slave.  


\subsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$ \textbf{ datagram}
\begin{DoxyCompactList}\small\item\em Datagram used in the state machine. \end{DoxyCompactList}\item 
\textbf{ ec\+\_\+fsm\+\_\+change\+\_\+t} $\ast$ \textbf{ fsm\+\_\+change}
\begin{DoxyCompactList}\small\item\em State change state machine. \end{DoxyCompactList}\item 
\textbf{ ec\+\_\+fsm\+\_\+coe\+\_\+t} $\ast$ \textbf{ fsm\+\_\+coe}
\begin{DoxyCompactList}\small\item\em CoE state machine. \end{DoxyCompactList}\item 
\textbf{ ec\+\_\+fsm\+\_\+soe\+\_\+t} $\ast$ \textbf{ fsm\+\_\+soe}
\begin{DoxyCompactList}\small\item\em SoE state machine. \end{DoxyCompactList}\item 
\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$ \textbf{ fsm\+\_\+pdo}
\begin{DoxyCompactList}\small\item\em P\+DO configuration state machine. \end{DoxyCompactList}\item 
\textbf{ ec\+\_\+slave\+\_\+t} $\ast$ \textbf{ slave}
\begin{DoxyCompactList}\small\item\em Slave the F\+SM runs on. \end{DoxyCompactList}\item 
void($\ast$ \textbf{ state} )(\textbf{ ec\+\_\+fsm\+\_\+slave\+\_\+config\+\_\+t} $\ast$)
\begin{DoxyCompactList}\small\item\em State function. \end{DoxyCompactList}\item 
unsigned int \textbf{ retries}
\begin{DoxyCompactList}\small\item\em Retries on datagram timeout. \end{DoxyCompactList}\item 
\textbf{ ec\+\_\+sdo\+\_\+request\+\_\+t} $\ast$ \textbf{ request}
\begin{DoxyCompactList}\small\item\em S\+DO request for S\+DO configuration. \end{DoxyCompactList}\item 
\textbf{ ec\+\_\+sdo\+\_\+request\+\_\+t} \textbf{ request\+\_\+copy}
\begin{DoxyCompactList}\small\item\em Copied S\+DO request. \end{DoxyCompactList}\item 
\textbf{ ec\+\_\+soe\+\_\+request\+\_\+t} $\ast$ \textbf{ soe\+\_\+request}
\begin{DoxyCompactList}\small\item\em S\+DO request for S\+DO configuration. \end{DoxyCompactList}\item 
\textbf{ ec\+\_\+soe\+\_\+request\+\_\+t} \textbf{ soe\+\_\+request\+\_\+copy}
\begin{DoxyCompactList}\small\item\em Copied S\+DO request. \end{DoxyCompactList}\item 
unsigned long \textbf{ jiffies\+\_\+start}
\begin{DoxyCompactList}\small\item\em For timeout calculations. \end{DoxyCompactList}\item 
unsigned int \textbf{ take\+\_\+time}
\begin{DoxyCompactList}\small\item\em Store jiffies after datagram reception. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Finite state machine to configure an Ether\+C\+AT slave. 

Definition at line 54 of file fsm\+\_\+slave\+\_\+config.\+h.



\subsection{Field Documentation}
\mbox{\label{structec__fsm__slave__config_a6b7e0ac3aa324aede3c39467672f7201}} 
\index{ec\+\_\+fsm\+\_\+slave\+\_\+config@{ec\+\_\+fsm\+\_\+slave\+\_\+config}!datagram@{datagram}}
\index{datagram@{datagram}!ec\+\_\+fsm\+\_\+slave\+\_\+config@{ec\+\_\+fsm\+\_\+slave\+\_\+config}}
\subsubsection{datagram}
{\footnotesize\ttfamily \textbf{ ec\+\_\+datagram\+\_\+t}$\ast$ ec\+\_\+fsm\+\_\+slave\+\_\+config\+::datagram}



Datagram used in the state machine. 



Definition at line 56 of file fsm\+\_\+slave\+\_\+config.\+h.

\mbox{\label{structec__fsm__slave__config_a1e2372d1d2ca00c551f93a503d06586d}} 
\index{ec\+\_\+fsm\+\_\+slave\+\_\+config@{ec\+\_\+fsm\+\_\+slave\+\_\+config}!fsm\+\_\+change@{fsm\+\_\+change}}
\index{fsm\+\_\+change@{fsm\+\_\+change}!ec\+\_\+fsm\+\_\+slave\+\_\+config@{ec\+\_\+fsm\+\_\+slave\+\_\+config}}
\subsubsection{fsm\+\_\+change}
{\footnotesize\ttfamily \textbf{ ec\+\_\+fsm\+\_\+change\+\_\+t}$\ast$ ec\+\_\+fsm\+\_\+slave\+\_\+config\+::fsm\+\_\+change}



State change state machine. 



Definition at line 57 of file fsm\+\_\+slave\+\_\+config.\+h.

\mbox{\label{structec__fsm__slave__config_a6c1f6900f5043f39d2d11250e5738dd0}} 
\index{ec\+\_\+fsm\+\_\+slave\+\_\+config@{ec\+\_\+fsm\+\_\+slave\+\_\+config}!fsm\+\_\+coe@{fsm\+\_\+coe}}
\index{fsm\+\_\+coe@{fsm\+\_\+coe}!ec\+\_\+fsm\+\_\+slave\+\_\+config@{ec\+\_\+fsm\+\_\+slave\+\_\+config}}
\subsubsection{fsm\+\_\+coe}
{\footnotesize\ttfamily \textbf{ ec\+\_\+fsm\+\_\+coe\+\_\+t}$\ast$ ec\+\_\+fsm\+\_\+slave\+\_\+config\+::fsm\+\_\+coe}



CoE state machine. 



Definition at line 58 of file fsm\+\_\+slave\+\_\+config.\+h.

\mbox{\label{structec__fsm__slave__config_a5760deffedeccf9457cd5bbf9c8b1706}} 
\index{ec\+\_\+fsm\+\_\+slave\+\_\+config@{ec\+\_\+fsm\+\_\+slave\+\_\+config}!fsm\+\_\+soe@{fsm\+\_\+soe}}
\index{fsm\+\_\+soe@{fsm\+\_\+soe}!ec\+\_\+fsm\+\_\+slave\+\_\+config@{ec\+\_\+fsm\+\_\+slave\+\_\+config}}
\subsubsection{fsm\+\_\+soe}
{\footnotesize\ttfamily \textbf{ ec\+\_\+fsm\+\_\+soe\+\_\+t}$\ast$ ec\+\_\+fsm\+\_\+slave\+\_\+config\+::fsm\+\_\+soe}



SoE state machine. 



Definition at line 59 of file fsm\+\_\+slave\+\_\+config.\+h.

\mbox{\label{structec__fsm__slave__config_afad3c621c1ca68bcdb3b983cfa1101c0}} 
\index{ec\+\_\+fsm\+\_\+slave\+\_\+config@{ec\+\_\+fsm\+\_\+slave\+\_\+config}!fsm\+\_\+pdo@{fsm\+\_\+pdo}}
\index{fsm\+\_\+pdo@{fsm\+\_\+pdo}!ec\+\_\+fsm\+\_\+slave\+\_\+config@{ec\+\_\+fsm\+\_\+slave\+\_\+config}}
\subsubsection{fsm\+\_\+pdo}
{\footnotesize\ttfamily \textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t}$\ast$ ec\+\_\+fsm\+\_\+slave\+\_\+config\+::fsm\+\_\+pdo}



P\+DO configuration state machine. 



Definition at line 60 of file fsm\+\_\+slave\+\_\+config.\+h.

\mbox{\label{structec__fsm__slave__config_aa4f0d106474cbddf8159b09049d14398}} 
\index{ec\+\_\+fsm\+\_\+slave\+\_\+config@{ec\+\_\+fsm\+\_\+slave\+\_\+config}!slave@{slave}}
\index{slave@{slave}!ec\+\_\+fsm\+\_\+slave\+\_\+config@{ec\+\_\+fsm\+\_\+slave\+\_\+config}}
\subsubsection{slave}
{\footnotesize\ttfamily \textbf{ ec\+\_\+slave\+\_\+t}$\ast$ ec\+\_\+fsm\+\_\+slave\+\_\+config\+::slave}



Slave the F\+SM runs on. 



Definition at line 62 of file fsm\+\_\+slave\+\_\+config.\+h.

\mbox{\label{structec__fsm__slave__config_a2878bf00f18738284e2a0e42a32c7374}} 
\index{ec\+\_\+fsm\+\_\+slave\+\_\+config@{ec\+\_\+fsm\+\_\+slave\+\_\+config}!state@{state}}
\index{state@{state}!ec\+\_\+fsm\+\_\+slave\+\_\+config@{ec\+\_\+fsm\+\_\+slave\+\_\+config}}
\subsubsection{state}
{\footnotesize\ttfamily void($\ast$ ec\+\_\+fsm\+\_\+slave\+\_\+config\+::state) (\textbf{ ec\+\_\+fsm\+\_\+slave\+\_\+config\+\_\+t} $\ast$)}



State function. 



Definition at line 63 of file fsm\+\_\+slave\+\_\+config.\+h.

\mbox{\label{structec__fsm__slave__config_a706c10900a9822291dbd2a521889146b}} 
\index{ec\+\_\+fsm\+\_\+slave\+\_\+config@{ec\+\_\+fsm\+\_\+slave\+\_\+config}!retries@{retries}}
\index{retries@{retries}!ec\+\_\+fsm\+\_\+slave\+\_\+config@{ec\+\_\+fsm\+\_\+slave\+\_\+config}}
\subsubsection{retries}
{\footnotesize\ttfamily unsigned int ec\+\_\+fsm\+\_\+slave\+\_\+config\+::retries}



Retries on datagram timeout. 



Definition at line 64 of file fsm\+\_\+slave\+\_\+config.\+h.

\mbox{\label{structec__fsm__slave__config_a1fbb50787df5cc82d434eff437d6e000}} 
\index{ec\+\_\+fsm\+\_\+slave\+\_\+config@{ec\+\_\+fsm\+\_\+slave\+\_\+config}!request@{request}}
\index{request@{request}!ec\+\_\+fsm\+\_\+slave\+\_\+config@{ec\+\_\+fsm\+\_\+slave\+\_\+config}}
\subsubsection{request}
{\footnotesize\ttfamily \textbf{ ec\+\_\+sdo\+\_\+request\+\_\+t}$\ast$ ec\+\_\+fsm\+\_\+slave\+\_\+config\+::request}



S\+DO request for S\+DO configuration. 



Definition at line 65 of file fsm\+\_\+slave\+\_\+config.\+h.

\mbox{\label{structec__fsm__slave__config_a5ac2f5854919d07c2c70501307881582}} 
\index{ec\+\_\+fsm\+\_\+slave\+\_\+config@{ec\+\_\+fsm\+\_\+slave\+\_\+config}!request\+\_\+copy@{request\+\_\+copy}}
\index{request\+\_\+copy@{request\+\_\+copy}!ec\+\_\+fsm\+\_\+slave\+\_\+config@{ec\+\_\+fsm\+\_\+slave\+\_\+config}}
\subsubsection{request\+\_\+copy}
{\footnotesize\ttfamily \textbf{ ec\+\_\+sdo\+\_\+request\+\_\+t} ec\+\_\+fsm\+\_\+slave\+\_\+config\+::request\+\_\+copy}



Copied S\+DO request. 



Definition at line 66 of file fsm\+\_\+slave\+\_\+config.\+h.

\mbox{\label{structec__fsm__slave__config_a7cf04a851c168dd46cebe1d311414abf}} 
\index{ec\+\_\+fsm\+\_\+slave\+\_\+config@{ec\+\_\+fsm\+\_\+slave\+\_\+config}!soe\+\_\+request@{soe\+\_\+request}}
\index{soe\+\_\+request@{soe\+\_\+request}!ec\+\_\+fsm\+\_\+slave\+\_\+config@{ec\+\_\+fsm\+\_\+slave\+\_\+config}}
\subsubsection{soe\+\_\+request}
{\footnotesize\ttfamily \textbf{ ec\+\_\+soe\+\_\+request\+\_\+t}$\ast$ ec\+\_\+fsm\+\_\+slave\+\_\+config\+::soe\+\_\+request}



S\+DO request for S\+DO configuration. 



Definition at line 67 of file fsm\+\_\+slave\+\_\+config.\+h.

\mbox{\label{structec__fsm__slave__config_ac1c8772376c738eb4b500b904bae8695}} 
\index{ec\+\_\+fsm\+\_\+slave\+\_\+config@{ec\+\_\+fsm\+\_\+slave\+\_\+config}!soe\+\_\+request\+\_\+copy@{soe\+\_\+request\+\_\+copy}}
\index{soe\+\_\+request\+\_\+copy@{soe\+\_\+request\+\_\+copy}!ec\+\_\+fsm\+\_\+slave\+\_\+config@{ec\+\_\+fsm\+\_\+slave\+\_\+config}}
\subsubsection{soe\+\_\+request\+\_\+copy}
{\footnotesize\ttfamily \textbf{ ec\+\_\+soe\+\_\+request\+\_\+t} ec\+\_\+fsm\+\_\+slave\+\_\+config\+::soe\+\_\+request\+\_\+copy}



Copied S\+DO request. 



Definition at line 68 of file fsm\+\_\+slave\+\_\+config.\+h.

\mbox{\label{structec__fsm__slave__config_aaca0412b1e9430abb207655e6a42830a}} 
\index{ec\+\_\+fsm\+\_\+slave\+\_\+config@{ec\+\_\+fsm\+\_\+slave\+\_\+config}!jiffies\+\_\+start@{jiffies\+\_\+start}}
\index{jiffies\+\_\+start@{jiffies\+\_\+start}!ec\+\_\+fsm\+\_\+slave\+\_\+config@{ec\+\_\+fsm\+\_\+slave\+\_\+config}}
\subsubsection{jiffies\+\_\+start}
{\footnotesize\ttfamily unsigned long ec\+\_\+fsm\+\_\+slave\+\_\+config\+::jiffies\+\_\+start}



For timeout calculations. 



Definition at line 69 of file fsm\+\_\+slave\+\_\+config.\+h.

\mbox{\label{structec__fsm__slave__config_a884fcfd4e7f6e89d0d99dab720939c07}} 
\index{ec\+\_\+fsm\+\_\+slave\+\_\+config@{ec\+\_\+fsm\+\_\+slave\+\_\+config}!take\+\_\+time@{take\+\_\+time}}
\index{take\+\_\+time@{take\+\_\+time}!ec\+\_\+fsm\+\_\+slave\+\_\+config@{ec\+\_\+fsm\+\_\+slave\+\_\+config}}
\subsubsection{take\+\_\+time}
{\footnotesize\ttfamily unsigned int ec\+\_\+fsm\+\_\+slave\+\_\+config\+::take\+\_\+time}



Store jiffies after datagram reception. 



Definition at line 70 of file fsm\+\_\+slave\+\_\+config.\+h.

